 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKElite/EliteModel.h>

@implementation JdxSkuExtraChargeVo
-(id) initWithExtraChargeName:(NSString*) extraChargeName
      extraChargeUnit:(NSString*)extraChargeUnit
      sellingPrice:(NSNumber*)sellingPrice
      numType:(NSNumber*)numType
      num:(NSString*)num { 
     self.extraChargeName = extraChargeName;               
     self.extraChargeUnit = extraChargeUnit;               
     self.sellingPrice = sellingPrice;               
     self.numType = numType;               
     self.num = num;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self extraChargeName])
    {
        [result setValue:[self extraChargeName] forKey:@"extraChargeName"];
    }
    if([self extraChargeUnit])
    {
        [result setValue:[self extraChargeUnit] forKey:@"extraChargeUnit"];
    }
    if([self sellingPrice])
    {
        [result setValue:[self sellingPrice] forKey:@"sellingPrice"];
    }
    if([self numType])
    {
        [result setValue:[self numType] forKey:@"numType"];
    }
    if([self num])
    {
        [result setValue:[self num] forKey:@"num"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.extraChargeName = [dictionary objectForKey:@"extraChargeName"];
    self.extraChargeUnit = [dictionary objectForKey:@"extraChargeUnit"];
    self.sellingPrice = [dictionary objectForKey:@"sellingPrice"];
    self.numType = [dictionary objectForKey:@"numType"];
    self.num = [dictionary objectForKey:@"num"];
    return self;
}
 @end
@implementation CartExtraChargeVo
-(id) initWithName:(NSString*) name
      buyNum:(NSNumber*)buyNum { 
     self.name = name;               
     self.buyNum = buyNum;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self buyNum])
    {
        [result setValue:[self buyNum] forKey:@"buyNum"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.buyNum = [dictionary objectForKey:@"buyNum"];
    return self;
}
 @end
@implementation ReportOrderInfo
-(id) initWithOrderNumber:(NSString*) orderNumber
      distributorAccount:(NSString*)distributorAccount
      distributorName:(NSString*)distributorName
      extraInfo:(NSString*)extraInfo { 
     self.orderNumber = orderNumber;               
     self.distributorAccount = distributorAccount;               
     self.distributorName = distributorName;               
     self.extraInfo = extraInfo;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self orderNumber])
    {
        [result setValue:[self orderNumber] forKey:@"orderNumber"];
    }
    if([self distributorAccount])
    {
        [result setValue:[self distributorAccount] forKey:@"distributorAccount"];
    }
    if([self distributorName])
    {
        [result setValue:[self distributorName] forKey:@"distributorName"];
    }
    if([self extraInfo])
    {
        [result setValue:[self extraInfo] forKey:@"extraInfo"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.orderNumber = [dictionary objectForKey:@"orderNumber"];
    self.distributorAccount = [dictionary objectForKey:@"distributorAccount"];
    self.distributorName = [dictionary objectForKey:@"distributorName"];
    self.extraInfo = [dictionary objectForKey:@"extraInfo"];
    return self;
}
 @end
@implementation OrderItemExtraChargeInfo
-(id) initWithName:(NSString*) name
      unit:(NSString*)unit
      buyNum:(NSNumber*)buyNum
      sellingPrice:(NSString*)sellingPrice
      settlementPrice:(NSString*)settlementPrice { 
     self.name = name;               
     self.unit = unit;               
     self.buyNum = buyNum;               
     self.sellingPrice = sellingPrice;               
     self.settlementPrice = settlementPrice;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self unit])
    {
        [result setValue:[self unit] forKey:@"unit"];
    }
    if([self buyNum])
    {
        [result setValue:[self buyNum] forKey:@"buyNum"];
    }
    if([self sellingPrice])
    {
        [result setValue:[self sellingPrice] forKey:@"sellingPrice"];
    }
    if([self settlementPrice])
    {
        [result setValue:[self settlementPrice] forKey:@"settlementPrice"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.unit = [dictionary objectForKey:@"unit"];
    self.buyNum = [dictionary objectForKey:@"buyNum"];
    self.sellingPrice = [dictionary objectForKey:@"sellingPrice"];
    self.settlementPrice = [dictionary objectForKey:@"settlementPrice"];
    return self;
}
 @end
@implementation QueryDeliveryInfoResultVo
-(id) initWithRemark:(NSString*) remark
      effectiveDt:(NSString*)effectiveDt
      failureDt:(NSString*)failureDt { 
     self.remark = remark;               
     self.effectiveDt = effectiveDt;               
     self.failureDt = failureDt;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self remark])
    {
        [result setValue:[self remark] forKey:@"remark"];
    }
    if([self effectiveDt])
    {
        [result setValue:[self effectiveDt] forKey:@"effectiveDt"];
    }
    if([self failureDt])
    {
        [result setValue:[self failureDt] forKey:@"failureDt"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.remark = [dictionary objectForKey:@"remark"];
    self.effectiveDt = [dictionary objectForKey:@"effectiveDt"];
    self.failureDt = [dictionary objectForKey:@"failureDt"];
    return self;
}
 @end
@implementation CreateOrderResultVo
-(id) initWithOrderNumber:(NSString*) orderNumber { 
     self.orderNumber = orderNumber;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self orderNumber])
    {
        [result setValue:[self orderNumber] forKey:@"orderNumber"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.orderNumber = [dictionary objectForKey:@"orderNumber"];
    return self;
}
 @end
@implementation StoreServiceDetailVo
-(id) initWithSpuId:(NSNumber*) spuId
      skuId:(NSNumber*)skuId
      storeDays:(NSNumber*)storeDays
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime { 
     self.spuId = spuId;               
     self.skuId = skuId;               
     self.storeDays = storeDays;               
     self.startTime = startTime;               
     self.endTime = endTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self spuId])
    {
        [result setValue:[self spuId] forKey:@"spuId"];
    }
    if([self skuId])
    {
        [result setValue:[self skuId] forKey:@"skuId"];
    }
    if([self storeDays])
    {
        [result setValue:[self storeDays] forKey:@"storeDays"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.spuId = [dictionary objectForKey:@"spuId"];
    self.skuId = [dictionary objectForKey:@"skuId"];
    self.storeDays = [dictionary objectForKey:@"storeDays"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    return self;
}
 @end
@implementation ConfirmDeliveryInfo
-(id) initWithDeliverNumber:(NSString*) deliverNumber
      remark:(NSString*)remark { 
     self.deliverNumber = deliverNumber;               
     self.remark = remark;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deliverNumber])
    {
        [result setValue:[self deliverNumber] forKey:@"deliverNumber"];
    }
    if([self remark])
    {
        [result setValue:[self remark] forKey:@"remark"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deliverNumber = [dictionary objectForKey:@"deliverNumber"];
    self.remark = [dictionary objectForKey:@"remark"];
    return self;
}
 @end
@implementation OrderResourceFormulaVo
-(id) initWithKey:(NSString*) key
      value:(NSNumber*)value { 
     self.key = key;               
     self.value = value;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.value = [dictionary objectForKey:@"value"];
    return self;
}
 @end
@implementation QueryPriceResultVo
-(id) initWithTotalPrice:(NSNumber*) totalPrice
      totalPriceScale4:(NSNumber*)totalPriceScale4
      discountedTotalPrice:(NSNumber*)discountedTotalPrice
      totalDiscount:(NSNumber*)totalDiscount
      totalOriginalPrice:(NSNumber*)totalOriginalPrice
      remark:(NSString*)remark { 
     self.totalPrice = totalPrice;               
     self.totalPriceScale4 = totalPriceScale4;               
     self.discountedTotalPrice = discountedTotalPrice;               
     self.totalDiscount = totalDiscount;               
     self.totalOriginalPrice = totalOriginalPrice;               
     self.remark = remark;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self totalPrice])
    {
        [result setValue:[self totalPrice] forKey:@"totalPrice"];
    }
    if([self totalPriceScale4])
    {
        [result setValue:[self totalPriceScale4] forKey:@"totalPriceScale4"];
    }
    if([self discountedTotalPrice])
    {
        [result setValue:[self discountedTotalPrice] forKey:@"discountedTotalPrice"];
    }
    if([self totalDiscount])
    {
        [result setValue:[self totalDiscount] forKey:@"totalDiscount"];
    }
    if([self totalOriginalPrice])
    {
        [result setValue:[self totalOriginalPrice] forKey:@"totalOriginalPrice"];
    }
    if([self remark])
    {
        [result setValue:[self remark] forKey:@"remark"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.totalPrice = [dictionary objectForKey:@"totalPrice"];
    self.totalPriceScale4 = [dictionary objectForKey:@"totalPriceScale4"];
    self.discountedTotalPrice = [dictionary objectForKey:@"discountedTotalPrice"];
    self.totalDiscount = [dictionary objectForKey:@"totalDiscount"];
    self.totalOriginalPrice = [dictionary objectForKey:@"totalOriginalPrice"];
    self.remark = [dictionary objectForKey:@"remark"];
    return self;
}
 @end
@implementation JdxProductSkuVo
-(id) initWithSkuId:(NSNumber*) skuId
      skuName:(NSString*)skuName
      saleAttributes:(NSString*)saleAttributes
      maxBuyNum:(NSNumber*)maxBuyNum
      minBuyNum:(NSNumber*)minBuyNum
      skuSellingPrice:(NSNumber*)skuSellingPrice
      skuExtraChargeList:(NSArray<JdxSkuExtraChargeVo*>*)skuExtraChargeList { 
     self.skuId = skuId;               
     self.skuName = skuName;               
     self.saleAttributes = saleAttributes;               
     self.maxBuyNum = maxBuyNum;               
     self.minBuyNum = minBuyNum;               
     self.skuSellingPrice = skuSellingPrice;               
     self.skuExtraChargeList = skuExtraChargeList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self skuId])
    {
        [result setValue:[self skuId] forKey:@"skuId"];
    }
    if([self skuName])
    {
        [result setValue:[self skuName] forKey:@"skuName"];
    }
    if([self saleAttributes])
    {
        [result setValue:[self saleAttributes] forKey:@"saleAttributes"];
    }
    if([self maxBuyNum])
    {
        [result setValue:[self maxBuyNum] forKey:@"maxBuyNum"];
    }
    if([self minBuyNum])
    {
        [result setValue:[self minBuyNum] forKey:@"minBuyNum"];
    }
    if([self skuSellingPrice])
    {
        [result setValue:[self skuSellingPrice] forKey:@"skuSellingPrice"];
    }
    if([self skuExtraChargeList])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self skuExtraChargeList] count]; i++) {
            JdxSkuExtraChargeVo* item = [[self skuExtraChargeList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"skuExtraChargeList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.skuId = [dictionary objectForKey:@"skuId"];
    self.skuName = [dictionary objectForKey:@"skuName"];
    self.saleAttributes = [dictionary objectForKey:@"saleAttributes"];
    self.maxBuyNum = [dictionary objectForKey:@"maxBuyNum"];
    self.minBuyNum = [dictionary objectForKey:@"minBuyNum"];
    self.skuSellingPrice = [dictionary objectForKey:@"skuSellingPrice"];
    NSArray* skuExtraChargeListArray = [dictionary objectForKey:@"skuExtraChargeList"];
    if(skuExtraChargeListArray&&![skuExtraChargeListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [skuExtraChargeListArray count];i++)
        {
            JdxSkuExtraChargeVo* item = [[JdxSkuExtraChargeVo alloc]initWithDic:[skuExtraChargeListArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.skuExtraChargeList = propertyArray;
    }
    return self;
}
 @end
@implementation ProductServiceVo
-(id) initWithDeliverNumber:(NSString*) deliverNumber
      orderNumber:(NSString*)orderNumber
      refOrderNumber:(NSString*)refOrderNumber
      orderType:(NSNumber*)orderType
      orderTypeName:(NSString*)orderTypeName
      buyerPin:(NSString*)buyerPin
      mappingCode:(NSString*)mappingCode
      supportAutoDeliver:(NSNumber*)supportAutoDeliver
      productId:(NSNumber*)productId
      skuId:(NSNumber*)skuId
      skuName:(NSString*)skuName
      serviceCode:(NSString*)serviceCode
      num:(NSNumber*)num
      period:(NSNumber*)period
      periodType:(NSNumber*)periodType
      periodTypeName:(NSString*)periodTypeName
      accountNum:(NSNumber*)accountNum
      deliverStatus:(NSNumber*)deliverStatus
      deliverStatusName:(NSString*)deliverStatusName
      effectiveDt:(NSString*)effectiveDt
      failureDt:(NSString*)failureDt
      extraInfo:(NSString*)extraInfo
      remark:(NSString*)remark
      orderTotalFee:(NSString*)orderTotalFee
      orderActualFee:(NSString*)orderActualFee
      paymentDt:(NSString*)paymentDt
      extraChargeInfo:(NSString*)extraChargeInfo
      orderItemExtraChargeInfos:(NSArray<OrderItemExtraChargeInfo*>*)orderItemExtraChargeInfos { 
     self.deliverNumber = deliverNumber;               
     self.orderNumber = orderNumber;               
     self.refOrderNumber = refOrderNumber;               
     self.orderType = orderType;               
     self.orderTypeName = orderTypeName;               
     self.buyerPin = buyerPin;               
     self.mappingCode = mappingCode;               
     self.supportAutoDeliver = supportAutoDeliver;               
     self.productId = productId;               
     self.skuId = skuId;               
     self.skuName = skuName;               
     self.serviceCode = serviceCode;               
     self.num = num;               
     self.period = period;               
     self.periodType = periodType;               
     self.periodTypeName = periodTypeName;               
     self.accountNum = accountNum;               
     self.deliverStatus = deliverStatus;               
     self.deliverStatusName = deliverStatusName;               
     self.effectiveDt = effectiveDt;               
     self.failureDt = failureDt;               
     self.extraInfo = extraInfo;               
     self.remark = remark;               
     self.orderTotalFee = orderTotalFee;               
     self.orderActualFee = orderActualFee;               
     self.paymentDt = paymentDt;               
     self.extraChargeInfo = extraChargeInfo;               
     self.orderItemExtraChargeInfos = orderItemExtraChargeInfos;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self deliverNumber])
    {
        [result setValue:[self deliverNumber] forKey:@"deliverNumber"];
    }
    if([self orderNumber])
    {
        [result setValue:[self orderNumber] forKey:@"orderNumber"];
    }
    if([self refOrderNumber])
    {
        [result setValue:[self refOrderNumber] forKey:@"refOrderNumber"];
    }
    if([self orderType])
    {
        [result setValue:[self orderType] forKey:@"orderType"];
    }
    if([self orderTypeName])
    {
        [result setValue:[self orderTypeName] forKey:@"orderTypeName"];
    }
    if([self buyerPin])
    {
        [result setValue:[self buyerPin] forKey:@"buyerPin"];
    }
    if([self mappingCode])
    {
        [result setValue:[self mappingCode] forKey:@"mappingCode"];
    }
    if([self supportAutoDeliver])
    {
        [result setValue:[self supportAutoDeliver] forKey:@"supportAutoDeliver"];
    }
    if([self productId])
    {
        [result setValue:[self productId] forKey:@"productId"];
    }
    if([self skuId])
    {
        [result setValue:[self skuId] forKey:@"skuId"];
    }
    if([self skuName])
    {
        [result setValue:[self skuName] forKey:@"skuName"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self num])
    {
        [result setValue:[self num] forKey:@"num"];
    }
    if([self period])
    {
        [result setValue:[self period] forKey:@"period"];
    }
    if([self periodType])
    {
        [result setValue:[self periodType] forKey:@"periodType"];
    }
    if([self periodTypeName])
    {
        [result setValue:[self periodTypeName] forKey:@"periodTypeName"];
    }
    if([self accountNum])
    {
        [result setValue:[self accountNum] forKey:@"accountNum"];
    }
    if([self deliverStatus])
    {
        [result setValue:[self deliverStatus] forKey:@"deliverStatus"];
    }
    if([self deliverStatusName])
    {
        [result setValue:[self deliverStatusName] forKey:@"deliverStatusName"];
    }
    if([self effectiveDt])
    {
        [result setValue:[self effectiveDt] forKey:@"effectiveDt"];
    }
    if([self failureDt])
    {
        [result setValue:[self failureDt] forKey:@"failureDt"];
    }
    if([self extraInfo])
    {
        [result setValue:[self extraInfo] forKey:@"extraInfo"];
    }
    if([self remark])
    {
        [result setValue:[self remark] forKey:@"remark"];
    }
    if([self orderTotalFee])
    {
        [result setValue:[self orderTotalFee] forKey:@"orderTotalFee"];
    }
    if([self orderActualFee])
    {
        [result setValue:[self orderActualFee] forKey:@"orderActualFee"];
    }
    if([self paymentDt])
    {
        [result setValue:[self paymentDt] forKey:@"paymentDt"];
    }
    if([self extraChargeInfo])
    {
        [result setValue:[self extraChargeInfo] forKey:@"extraChargeInfo"];
    }
    if([self orderItemExtraChargeInfos])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self orderItemExtraChargeInfos] count]; i++) {
            OrderItemExtraChargeInfo* item = [[self orderItemExtraChargeInfos] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"orderItemExtraChargeInfos"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.deliverNumber = [dictionary objectForKey:@"deliverNumber"];
    self.orderNumber = [dictionary objectForKey:@"orderNumber"];
    self.refOrderNumber = [dictionary objectForKey:@"refOrderNumber"];
    self.orderType = [dictionary objectForKey:@"orderType"];
    self.orderTypeName = [dictionary objectForKey:@"orderTypeName"];
    self.buyerPin = [dictionary objectForKey:@"buyerPin"];
    self.mappingCode = [dictionary objectForKey:@"mappingCode"];
    self.supportAutoDeliver = [dictionary objectForKey:@"supportAutoDeliver"];
    self.productId = [dictionary objectForKey:@"productId"];
    self.skuId = [dictionary objectForKey:@"skuId"];
    self.skuName = [dictionary objectForKey:@"skuName"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.num = [dictionary objectForKey:@"num"];
    self.period = [dictionary objectForKey:@"period"];
    self.periodType = [dictionary objectForKey:@"periodType"];
    self.periodTypeName = [dictionary objectForKey:@"periodTypeName"];
    self.accountNum = [dictionary objectForKey:@"accountNum"];
    self.deliverStatus = [dictionary objectForKey:@"deliverStatus"];
    self.deliverStatusName = [dictionary objectForKey:@"deliverStatusName"];
    self.effectiveDt = [dictionary objectForKey:@"effectiveDt"];
    self.failureDt = [dictionary objectForKey:@"failureDt"];
    self.extraInfo = [dictionary objectForKey:@"extraInfo"];
    self.remark = [dictionary objectForKey:@"remark"];
    self.orderTotalFee = [dictionary objectForKey:@"orderTotalFee"];
    self.orderActualFee = [dictionary objectForKey:@"orderActualFee"];
    self.paymentDt = [dictionary objectForKey:@"paymentDt"];
    self.extraChargeInfo = [dictionary objectForKey:@"extraChargeInfo"];
    NSArray* orderItemExtraChargeInfosArray = [dictionary objectForKey:@"orderItemExtraChargeInfos"];
    if(orderItemExtraChargeInfosArray&&![orderItemExtraChargeInfosArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [orderItemExtraChargeInfosArray count];i++)
        {
            OrderItemExtraChargeInfo* item = [[OrderItemExtraChargeInfo alloc]initWithDic:[orderItemExtraChargeInfosArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.orderItemExtraChargeInfos = propertyArray;
    }
    return self;
}
 @end
@implementation ProductServiceVoListData
-(id) initWithPageNo:(NSNumber*) pageNo
      pageSize:(NSNumber*)pageSize
      totalRecord:(NSNumber*)totalRecord
      totalPage:(NSNumber*)totalPage
      dataList:(NSArray<ProductServiceVo*>*)dataList { 
     self.pageNo = pageNo;               
     self.pageSize = pageSize;               
     self.totalRecord = totalRecord;               
     self.totalPage = totalPage;               
     self.dataList = dataList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pageNo])
    {
        [result setValue:[self pageNo] forKey:@"pageNo"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self totalRecord])
    {
        [result setValue:[self totalRecord] forKey:@"totalRecord"];
    }
    if([self totalPage])
    {
        [result setValue:[self totalPage] forKey:@"totalPage"];
    }
    if([self dataList])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self dataList] count]; i++) {
            ProductServiceVo* item = [[self dataList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"dataList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNo = [dictionary objectForKey:@"pageNo"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.totalRecord = [dictionary objectForKey:@"totalRecord"];
    self.totalPage = [dictionary objectForKey:@"totalPage"];
    NSArray* dataListArray = [dictionary objectForKey:@"dataList"];
    if(dataListArray&&![dataListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataListArray count];i++)
        {
            ProductServiceVo* item = [[ProductServiceVo alloc]initWithDic:[dataListArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.dataList = propertyArray;
    }
    return self;
}
 @end
@implementation StoreServiceVo
-(id) initWithBuyerPin:(NSString*) buyerPin
      businessData:(NSString*)businessData
      storeServiceDetails:(NSArray<StoreServiceDetailVo*>*)storeServiceDetails
      orderNum:(NSNumber*)orderNum
      updateTime:(NSString*)updateTime { 
     self.buyerPin = buyerPin;               
     self.businessData = businessData;               
     self.storeServiceDetails = storeServiceDetails;               
     self.orderNum = orderNum;               
     self.updateTime = updateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self buyerPin])
    {
        [result setValue:[self buyerPin] forKey:@"buyerPin"];
    }
    if([self businessData])
    {
        [result setValue:[self businessData] forKey:@"businessData"];
    }
    if([self storeServiceDetails])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self storeServiceDetails] count]; i++) {
            StoreServiceDetailVo* item = [[self storeServiceDetails] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"storeServiceDetails"];
    }
    if([self orderNum])
    {
        [result setValue:[self orderNum] forKey:@"orderNum"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.buyerPin = [dictionary objectForKey:@"buyerPin"];
    self.businessData = [dictionary objectForKey:@"businessData"];
    NSArray* storeServiceDetailsArray = [dictionary objectForKey:@"storeServiceDetails"];
    if(storeServiceDetailsArray&&![storeServiceDetailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [storeServiceDetailsArray count];i++)
        {
            StoreServiceDetailVo* item = [[StoreServiceDetailVo alloc]initWithDic:[storeServiceDetailsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.storeServiceDetails = propertyArray;
    }
    self.orderNum = [dictionary objectForKey:@"orderNum"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    return self;
}
 @end
@implementation CreateOrderInfo
-(id) initWithProductId:(NSNumber*) productId
      skuId:(NSNumber*)skuId
      buyNum:(NSNumber*)buyNum
      remark:(NSString*)remark
      cartExtraChargeVos:(NSArray<CartExtraChargeVo*>*)cartExtraChargeVos { 
     self.productId = productId;               
     self.skuId = skuId;               
     self.buyNum = buyNum;               
     self.remark = remark;               
     self.cartExtraChargeVos = cartExtraChargeVos;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self productId])
    {
        [result setValue:[self productId] forKey:@"productId"];
    }
    if([self skuId])
    {
        [result setValue:[self skuId] forKey:@"skuId"];
    }
    if([self buyNum])
    {
        [result setValue:[self buyNum] forKey:@"buyNum"];
    }
    if([self remark])
    {
        [result setValue:[self remark] forKey:@"remark"];
    }
    if([self cartExtraChargeVos])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self cartExtraChargeVos] count]; i++) {
            CartExtraChargeVo* item = [[self cartExtraChargeVos] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"cartExtraChargeVos"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.productId = [dictionary objectForKey:@"productId"];
    self.skuId = [dictionary objectForKey:@"skuId"];
    self.buyNum = [dictionary objectForKey:@"buyNum"];
    self.remark = [dictionary objectForKey:@"remark"];
    NSArray* cartExtraChargeVosArray = [dictionary objectForKey:@"cartExtraChargeVos"];
    if(cartExtraChargeVosArray&&![cartExtraChargeVosArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [cartExtraChargeVosArray count];i++)
        {
            CartExtraChargeVo* item = [[CartExtraChargeVo alloc]initWithDic:[cartExtraChargeVosArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.cartExtraChargeVos = propertyArray;
    }
    return self;
}
 @end
@implementation OrderPriceProtocolVo
-(id) initWithResourceId:(NSString*) resourceId
      serviceCode:(NSString*)serviceCode
      region:(NSString*)region
      billingType:(NSNumber*)billingType
      formula:(NSArray<OrderResourceFormulaVo*>*)formula
      count:(NSNumber*)count
      timeSpan:(NSNumber*)timeSpan
      timeUnit:(NSNumber*)timeUnit
      networkOperator:(NSNumber*)networkOperator
      pin:(NSString*)pin
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime { 
     self.resourceId = resourceId;               
     self.serviceCode = serviceCode;               
     self.region = region;               
     self.billingType = billingType;               
     self.formula = formula;               
     self.count = count;               
     self.timeSpan = timeSpan;               
     self.timeUnit = timeUnit;               
     self.networkOperator = networkOperator;               
     self.pin = pin;               
     self.startTime = startTime;               
     self.endTime = endTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self formula])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self formula] count]; i++) {
            OrderResourceFormulaVo* item = [[self formula] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"formula"];
    }
    if([self count])
    {
        [result setValue:[self count] forKey:@"count"];
    }
    if([self timeSpan])
    {
        [result setValue:[self timeSpan] forKey:@"timeSpan"];
    }
    if([self timeUnit])
    {
        [result setValue:[self timeUnit] forKey:@"timeUnit"];
    }
    if([self networkOperator])
    {
        [result setValue:[self networkOperator] forKey:@"networkOperator"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.region = [dictionary objectForKey:@"region"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    NSArray* formulaArray = [dictionary objectForKey:@"formula"];
    if(formulaArray&&![formulaArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [formulaArray count];i++)
        {
            OrderResourceFormulaVo* item = [[OrderResourceFormulaVo alloc]initWithDic:[formulaArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.formula = propertyArray;
    }
    self.count = [dictionary objectForKey:@"count"];
    self.timeSpan = [dictionary objectForKey:@"timeSpan"];
    self.timeUnit = [dictionary objectForKey:@"timeUnit"];
    self.networkOperator = [dictionary objectForKey:@"networkOperator"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    return self;
}
 @end
@implementation JdxProductVo
-(id) initWithProductId:(NSNumber*) productId
      productName:(NSString*)productName
      trademarkUrl:(NSString*)trademarkUrl
      categoryLevel1Name:(NSString*)categoryLevel1Name
      categoryLevel2Name:(NSString*)categoryLevel2Name
      deliveryForm:(NSNumber*)deliveryForm
      deliveryFormName:(NSString*)deliveryFormName
      introduction:(NSString*)introduction
      sellType:(NSNumber*)sellType
      sellTypeName:(NSString*)sellTypeName
      refundDays:(NSNumber*)refundDays
      pcProductDetail:(NSString*)pcProductDetail
      mProductDetail:(NSString*)mProductDetail
      productSkuList:(NSArray<JdxProductSkuVo*>*)productSkuList { 
     self.productId = productId;               
     self.productName = productName;               
     self.trademarkUrl = trademarkUrl;               
     self.categoryLevel1Name = categoryLevel1Name;               
     self.categoryLevel2Name = categoryLevel2Name;               
     self.deliveryForm = deliveryForm;               
     self.deliveryFormName = deliveryFormName;               
     self.introduction = introduction;               
     self.sellType = sellType;               
     self.sellTypeName = sellTypeName;               
     self.refundDays = refundDays;               
     self.pcProductDetail = pcProductDetail;               
     self.mProductDetail = mProductDetail;               
     self.productSkuList = productSkuList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self productId])
    {
        [result setValue:[self productId] forKey:@"productId"];
    }
    if([self productName])
    {
        [result setValue:[self productName] forKey:@"productName"];
    }
    if([self trademarkUrl])
    {
        [result setValue:[self trademarkUrl] forKey:@"trademarkUrl"];
    }
    if([self categoryLevel1Name])
    {
        [result setValue:[self categoryLevel1Name] forKey:@"categoryLevel1Name"];
    }
    if([self categoryLevel2Name])
    {
        [result setValue:[self categoryLevel2Name] forKey:@"categoryLevel2Name"];
    }
    if([self deliveryForm])
    {
        [result setValue:[self deliveryForm] forKey:@"deliveryForm"];
    }
    if([self deliveryFormName])
    {
        [result setValue:[self deliveryFormName] forKey:@"deliveryFormName"];
    }
    if([self introduction])
    {
        [result setValue:[self introduction] forKey:@"introduction"];
    }
    if([self sellType])
    {
        [result setValue:[self sellType] forKey:@"sellType"];
    }
    if([self sellTypeName])
    {
        [result setValue:[self sellTypeName] forKey:@"sellTypeName"];
    }
    if([self refundDays])
    {
        [result setValue:[self refundDays] forKey:@"refundDays"];
    }
    if([self pcProductDetail])
    {
        [result setValue:[self pcProductDetail] forKey:@"pcProductDetail"];
    }
    if([self mProductDetail])
    {
        [result setValue:[self mProductDetail] forKey:@"mProductDetail"];
    }
    if([self productSkuList])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self productSkuList] count]; i++) {
            JdxProductSkuVo* item = [[self productSkuList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"productSkuList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.productId = [dictionary objectForKey:@"productId"];
    self.productName = [dictionary objectForKey:@"productName"];
    self.trademarkUrl = [dictionary objectForKey:@"trademarkUrl"];
    self.categoryLevel1Name = [dictionary objectForKey:@"categoryLevel1Name"];
    self.categoryLevel2Name = [dictionary objectForKey:@"categoryLevel2Name"];
    self.deliveryForm = [dictionary objectForKey:@"deliveryForm"];
    self.deliveryFormName = [dictionary objectForKey:@"deliveryFormName"];
    self.introduction = [dictionary objectForKey:@"introduction"];
    self.sellType = [dictionary objectForKey:@"sellType"];
    self.sellTypeName = [dictionary objectForKey:@"sellTypeName"];
    self.refundDays = [dictionary objectForKey:@"refundDays"];
    self.pcProductDetail = [dictionary objectForKey:@"pcProductDetail"];
    self.mProductDetail = [dictionary objectForKey:@"mProductDetail"];
    NSArray* productSkuListArray = [dictionary objectForKey:@"productSkuList"];
    if(productSkuListArray&&![productSkuListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [productSkuListArray count];i++)
        {
            JdxProductSkuVo* item = [[JdxProductSkuVo alloc]initWithDic:[productSkuListArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.productSkuList = propertyArray;
    }
    return self;
}
 @end
@implementation JdxProductVoListData
-(id) initWithPageNo:(NSNumber*) pageNo
      pageSize:(NSNumber*)pageSize
      totalRecord:(NSNumber*)totalRecord
      totalPage:(NSNumber*)totalPage
      dataList:(NSArray<JdxProductVo*>*)dataList { 
     self.pageNo = pageNo;               
     self.pageSize = pageSize;               
     self.totalRecord = totalRecord;               
     self.totalPage = totalPage;               
     self.dataList = dataList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pageNo])
    {
        [result setValue:[self pageNo] forKey:@"pageNo"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self totalRecord])
    {
        [result setValue:[self totalRecord] forKey:@"totalRecord"];
    }
    if([self totalPage])
    {
        [result setValue:[self totalPage] forKey:@"totalPage"];
    }
    if([self dataList])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self dataList] count]; i++) {
            JdxProductVo* item = [[self dataList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"dataList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNo = [dictionary objectForKey:@"pageNo"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.totalRecord = [dictionary objectForKey:@"totalRecord"];
    self.totalPage = [dictionary objectForKey:@"totalPage"];
    NSArray* dataListArray = [dictionary objectForKey:@"dataList"];
    if(dataListArray&&![dataListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataListArray count];i++)
        {
            JdxProductVo* item = [[JdxProductVo alloc]initWithDic:[dataListArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.dataList = propertyArray;
    }
    return self;
}
 @end
@implementation QueryPriceParam
-(id) initWithCmd:(NSNumber*) cmd
      packageCount:(NSNumber*)packageCount
      orderList:(NSArray<OrderPriceProtocolVo*>*)orderList { 
     self.cmd = cmd;               
     self.packageCount = packageCount;               
     self.orderList = orderList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cmd])
    {
        [result setValue:[self cmd] forKey:@"cmd"];
    }
    if([self packageCount])
    {
        [result setValue:[self packageCount] forKey:@"packageCount"];
    }
    if([self orderList])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self orderList] count]; i++) {
            OrderPriceProtocolVo* item = [[self orderList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"orderList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cmd = [dictionary objectForKey:@"cmd"];
    self.packageCount = [dictionary objectForKey:@"packageCount"];
    NSArray* orderListArray = [dictionary objectForKey:@"orderList"];
    if(orderListArray&&![orderListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [orderListArray count];i++)
        {
            OrderPriceProtocolVo* item = [[OrderPriceProtocolVo alloc]initWithDic:[orderListArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.orderList = propertyArray;
    }
    return self;
}
 @end
 
 


